﻿using Mes.Domain.BoundedContext;

namespace Mes.Application.DTO.Inputs.Operations
{
    /// <summary>
    /// 工艺路线入参
    /// </summary>
    public class ProcessRouteInput
    {
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; } = String.Empty;

        /// <summary>
        /// 路线路径列表
        /// </summary>
        public IList<StdOperEntRouteInput> StdOperEntRoutes { get; set; } = new List<StdOperEntRouteInput>();
    }

    /// <summary>
    /// 新增路径入参
    /// </summary>
    public class StdOperEntRouteInput
    {
        /// <summary>
        /// 目标操作ID
        /// </summary>
        public string Oper_Id { get; set; } = String.Empty;

        /// <summary>
        /// 目标生产单元ID
        /// </summary>
        public int Ent_Id { get; set; }

        /// <summary>
        /// 开始操作ID
        /// </summary>
        public string Input_Oper_Id { get; set; } = String.Empty;

        /// <summary>
        /// 开始生产单元ID
        /// </summary>
        public int Input_Ent_Id { get; set; }

        /// <summary>
        /// 加工工序
        /// </summary>
        public int Order { get; set; }

        ///// <summary>
        ///// 是否是第一步
        ///// </summary>
        //public bool FirstOper { get; set; }

        ///// <summary>
        ///// 是否是最后异步
        ///// </summary>
        //public bool FinalOper { get; set; }
    }

    /// <summary>
    /// 新增工艺路线入参
    /// </summary>
    public class AddProcessRouteInput : ProcessRouteInput
    {
        /// <summary>
        /// 工艺路线编码
        /// </summary>
        public string Code { get; set; } = String.Empty;

        /// <summary>
        /// 工艺路线名称
        /// </summary>
        public string Name { get; set; } = String.Empty;
    }

    /// <summary>
    /// 编辑工艺路线入参
    /// </summary>
    public class UpdateProcessRouteInput : ProcessRouteInput
    {
        /// <summary>
        /// 工艺路线ID
        /// </summary>
        public int ProcessRouteId { get; set; }
    }

    /// <summary>
    /// 分页查询工艺路线入参
    /// </summary>
    public class GetProcessRoutesInput
    {
        /// <summary>
        /// 查询关键字
        /// </summary>
        public string? KeyWord { get; set; }

        /// <summary>
        /// 分页参数
        /// </summary>
        public PagedInput PagedInput { get; set; } = new PagedInput();
    }

}
